#[derive(PartialEq, Clone, Debug)]
pub enum Token {
    Illegal(String),
    Eof,
    Semicolon,
    LParen,
    RParen,
    LBrace,
    RBrace,
    LBracket,
    RBracket,
    Plus,
    Asterisk,
    Comma,
    Return,
    Var,
    Def,
    Lt,
    Gt,
    Assign,
    Ident(String),
    Num(f64),
}

pub fn lookup_ident(ident: &str) -> Token {
    match ident {
        "return" => Token::Return,
        "var" => Token::Var,
        "def" => Token::Def,
        _ => Token::Ident(ident.to_string()),
    }
}
